Systems and methods for linking television viewers with advertisers and broadcasters

ABSTRACT

The present invention provides systems and methods for providing television schedule information to a viewer, and for allowing the viewer to link, search, select and interact with information in a remote database, e.g., a database on the internet. The television schedule information can be displayed on a variety of viewer interfaces, such as televisions screens, computer monitors, PCTV screens and the like. The television schedule information may be stored on the viewer&#39;s computer, television, PCTV, or a remote server (e.g., a website), or the television schedule information may be downloaded from a remote database to the viewer&#39;s computer, television or PCTV.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part of Provisional PatentApplication Ser. Nos. 60/022,826, filed on Jul. 26, 1996, and60/015,648, filed on Apr. 19, 1996, and U.S. patent application Ser. No.08/537,650, filed on Oct. 2, 1995, the complete disclosures of which areincorporated herein by reference. This application is also related toU.S. patent application Ser. No. unassigned, filed Apr. 11, 1997(Attorney Docket No. 14774-004410), and its Appendices A, B, and C, thecomplete disclosure which is also incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention generally relates to systems and methods forproviding information to television viewers, and more particularly tosystems and methods for allowing the viewer to retrieve, search, selectand interact with television schedule information located in a remotedatabase, computer network or on-line service, e.g., a network server onthe Internet or World Wide Web.

As the number of television stations in a metropolitan area or on acable network has increased, the number of programs of potentialinterest that are presented to a viewer has risen dramatically. With theuse of dish antennas capable of receiving direct satellite signals, themultitude of programs available to the viewer has further increased.Consequently, television schedule systems that are provided directly onthe viewer's television screen have been developed to assist the viewerin sorting through these various programs and determining which programsto watch or record. One such television schedule system is disclosed incommonly assigned U.S. Pat. No. 5,353,121 (Young et al.), the completedisclosure of which is hereby incorporated by reference. In oneembodiment of Young, the television schedule includes a series of menuscreens having an array of cells corresponding to different televisionprograms. The viewer may scroll through the cells to view whichtelevision programs are being presented on various channels at varioustimes. In addition, the viewer may select certain cells to obtain moreinformation on the associated program or to pull up other submenus withadditional options.

The recent development of television schedule systems, such as the abovedescribed patent to Young, have created many new challenges andopportunities. One such challenge and opportunity is to provide viewerswith additional information associated with a particular program in thetelevision guide. As a television viewer is browsing through thetelevision programs, he or she may wish to obtain more informationrelating to specific areas of interest or concerns associated with theshow, such as the actors, actresses, other movies released during thesame time period, or travel packages or promotions that may be availablethrough primary, secondary or third party vendors. Offering this type ofinformation to the television viewer can be difficult, however, becausetheir are hundreds of different programs broadcast every day. Inaddition, the available information changes at a rapid pace, which makesit even more difficult to provide this information in present televisionschedule guides.

In television broadcasting, it may also be desirable to interact withthe viewer. There are many commercials and programs which request vieweraction such as purchasing an advertised product, making a monetarycontribution, responding to a survey, answering a question, orparticipating in contests with other viewers, for example. One problemwith this existing system is that it is often difficult to motivate aviewer to request information or send in a contribution after thebroadcast of the commercial or program. Viewers will often forget theadvertisement or simply lose motivation to spend money or requestinformation after the commercial or program is over. Another problem isthat companies sponsoring these commercials or programs would often liketo provide their viewers with further information, if the viewers couldbe identified or if the viewer requests the additional information.Thus, it would be desirable to provide a ready and efficient method tofacilitate an exchange of information between television viewers andproducers, promoters and advertisers during the broadcast of thecommercial or program.

SUMMARY OF THE INVENTION

The present invention provides systems and methods for providingtelevision schedule information on a visual interface, and for allowingthe viewer to retrieve, search, select and interact with informationlocated in a remote database, computer network or on-line service, suchas a network server on the Internet or World Wide Web. The televisionschedule information can be displayed on a variety of visual interfaces,such as televisions screens, computer monitors, PCTV screens and thelike. The television schedule information may be stored on the viewer'scomputer, television, PCTV, or a remote server (e.g., a website), or thetelevision schedule information may be downloaded from a remote databaseor computer network to the viewer's computer, television or PCTV. Thepresent invention also provides systems and methods for allowing theviewer to navigate and interact with a program guide that is displayed,for example, on the viewer's television screen. The program guide willusually include a schedule information area that depicts the programsthat are being presented on each channel at each time during the day,week or month. With an input device, such as a remote control device,pointing device, mouse, keyboard, microphone or the like, the viewer canbrowse through the schedule information area and/or obtain moreinformation about programs of particular interest.

In an exemplary embodiment of the present invention, a system and methodis provided for directly linking television viewers with broadcastersand advertisers during the real-time broadcast or non-real-time internetbroadcast of a commercial or program. In this embodiment, the systemincludes a viewer interface, such as a television, computer, PCTV or atelevision coupled to a computer system, and a communication device forcoupling the viewer interface with a computer network, such as theInternet or World Wide Web. A television guide database or networkserver is coupled to the computer network, or directly to the viewerinterface for providing the television schedule and/or listinginformation to the viewer. The viewer interface will have a memory and aprocessor with appropriate software (not shown) for searching,retrieving, initiating a subscription to and interacting withinformation from the television guide database, or the commercialdatabases coupled to the computer network. Alternatively, this functionmay be provided through the computer network by allowing the viewer toaccess, download, and/or automatically upgrade an application or applet(e.g., a JAVA™ applet) having appropriate software to run the televisionschedule and/or listing information guide on a display.

In the above embodiment, commercial providers (e.g., Budweiser) and/ortelevision station broadcasters (e.g., ABC) and/or program directory,library, or archival sources (e.g., Turner Classics Film Library orother such repository of digitally-available programs or programming)may also have databases coupled to the viewer interface. In this manner,the viewer may directly access these databases during the broadcast of atelevision program, or while the viewer is browsing through thetelevision schedule and/or listing information guide. For example, theviewer may purchase goods and services directly through the commercialsponsor, or through a delivery system provided by the televisionschedule and/or listing information guide. This type of advertisingallows the advertiser to directly target a particular program, and itallows the viewer to directly purchase the products during theadvertisement or associated program. Consequently, viewers will notforget the advertisement or simply lose motivation to spend money orrequest information and/or related products, offers, and services afterthe commercial or program is over.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of a representative interactive computersystem coupled to a television system.

FIG. 2 illustrates another exemplary television system for use with anelectronic program guide according to the present invention.

FIG. 3 is a block diagram of an exemplary electronic hardware unitutilized to perform the electronic on-screen schedule display and otherfunctions for the electronic program guide of the present invention.

FIG. 4 illustrates a hierarchical structure of a database for theelectronic hardware unit of FIG. 3.

FIG. 5 schematically illustrates a channel data table for the datastructure of FIG. 4.

FIG. 6 illustrates a show list data table for the data structure of FIG.4.

FIGS. 7A and 7B illustrate show title entries and show descriptionentries, respectively, for the data structure of FIG. 4.

FIGS. 8 and 9 illustrate theme category entries and them subcategoryentries, respectively, for the data structure of FIG. 4.

FIG. 10 illustrates an exemplary satellite for transmitting programinformation to the television system of FIG. 2.

FIG. 11 illustrates several arrangements for providing televisionschedule information from a database to a television for display.

FIG. 12 illustrates an interactive television schedule system accordingto the invention incorporating a cable system coupled to a televisionsystem.

FIG. 13 illustrates a preferred arrangement for providing televisionschedule information from the cable system of FIG. 12 to a televisionfor display to the viewer.

FIG. 14 illustrates a system and method for accessing televisionschedule information at a network file server on the internet.

FIG. 15 schematically illustrates a system and method for viewerinteraction with commercial advertisers and program sponsors within thetelevision schedule information system of the present invention.

FIGS. 16A and 16B are schematic views of a representative program guideand a channel guide, respectively, for use with the television system ofFIG. 1.

FIGS. 17A-17C are schematic views illustrating a method for selecting aprogram information menu, moving to the program guide of FIG. 16A andbrowsing through information menus from other programs.

FIGS. 18A-18E illustrate a Video On Demand menu and an associatedsubmode menu.

FIGS. 19A-19C illustrate a method for accessing and sending mailmessages.

FIGS. 20A-20C illustrate a Services Menu and a method for accessingspecial services and for purchasing items.

FIGS. 21A-21F illustrate a system and method for contextually linking aprogram to a database on a computer network.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

The present invention provides systems and methods for providingtelevision schedule and/or listing information to a viewer, and forallowing the viewer to link, search, select, retrieve, initiate asubscription to and interact with information in a remote database,computer network or on-line server, e.g., a network server on theInternet or World Wide Web. The television schedule and/or listinginformation can be displayed on a variety of viewer interfaces, such astelevisions screens, computer monitors, PCTV screens and otherinteractive display devices. The television schedule and/or listinginformation may be stored on the viewer's computer, television, PCTV, ora remote server (e.g., a website), or the television schedule and/orlisting information may be downloaded from a remote database or computernetwork and/or internet broadcast to the viewer's computer, televisionor PCTV. Suitable television schedule and/or listing information systemsor video guides that can be used with the present invention aredescribed in commonly assigned U.S. Pat. Nos. 5,353,121, 5,479,266, thecomplete disclosures of which are hereby incorporated by reference. Thesystems and methods of the present invention may also be useful withvideo guides available under the name of SuperGuide™ from The SuperGuideCorporation of Shelby, N.C.

In one embodiment, the invention incorporates an interactive computersystem which assists the viewer in utilizing television schedule and/orlisting information and linking with a database to search and retrieve,initiate a subscription to, information. Preferably, the information iscontextually related to television programs within the televisionschedule and/or listing information. Referring to the drawings indetail, wherein like elements are indicated by like numerals, arepresentative television schedule and/or listing information system 2for use with the contextual linking system and method of the presentinvention is illustrated in FIGS. 1-7. As shown in FIG. 1, schedulesystem includes a computer system 10 coupled to a television system 30.Computer system 10 includes a standard computer 12 which is, forexample, any available personal computer (e.g., IBM compatible,Macintosh, and the like). Computer 12 can also be located within aset-top box (e.g., a DSS box). Computer 12 contains a hard drive 14, aprocessor 16 and a disk input 18 for providing computer 12 with various,additional software. An input device 20 allows a viewer to interact withcomputer 12 and/or a television schedule guide (described below andillustrated in FIGS. 12-17). Line 23 is connected to an availableserial, parallel or other data port 23 on computer 12. This line 23 isused to connect other devices/components to computer 12.

In another embodiment, computer system 10 may be combined withtelevision system 30 to form a PCTV. In this embodiment, the computerwill usually include a processor that may be used solely to run theprogram guide and associated software, or the processor may beconfigured to run other applications, such as word processing, graphics,or the like. The computer will usually be incorporated into thetelevision set so that the television display can be used as both atelevision screen and a computer monitor. Alternatively, the televisionmay be incorporated into the computer so that the computer monitorperforms this dual function. Usually, the PCTV will include a number ofinput devices, such as a keyboard, a mouse and a remote control device,similar to the one described above. However, these input devices may becombined into a single device that inputs commands with keys, atrackball, pointing device, scrolling mechanism, voice activation or acombination thereof.

Television system 30 includes a television 32, which may be anycommercially available television, and a user input device 20.Television system 30 may or may not include a video tape recorder (VCR).In this embodiment, VCRs 34 and 36 are coupled to television 32. TheseVCRs 34 and 36 can be, for example, any commercially available VCRs orany other type of recording and/or storage device (analog or digital).Input device 20 allows the viewer to interact with television 32, VCR34, and/or VCR 36. Input device 20 may be a remote control, keyboard,mouse, a voice activated interface or the like. A suitable input devicefor use with the present invention is described in U.S. ProvisionalApplication Ser. Nos. 60/022,826, filed on Jul. 26, 1996, and60/015,648, filed on Apr. 19, 1996 (Attorney Docket Nos. 14774-004000and 005500), the complete disclosures of which are incorporated hereinby reference. A line 37 is used to connect other devices to VCR 34.Other devices can also be connected in series between VCR 34 andtelevision 32 via line 38. With this configuration, computer 12 (orcomputer system 10) and television 32 (or television system 30) can belocated in different rooms within a private residence or a commercialbuilding.

In one embodiment, a computer program provided on diskettes, a CD ROM orother medium contains the software needed for receiving, organizing anddisplaying data for the television schedule guide. These diskettes areinserted in disk input 18 and the software for these diskettes is storedwithin computer 12 on hard drive 14 or on another mass storage location.This action can be performed by, for example, the user or aserviceperson. The computer program can also be provided access,download, and/or automatically upgrade, for example, via downloadingfrom a satellite 24, transmission through the internet or other on-lineservice, or transmission through another type of land line 22 (e.g.,coax cable, telephone line, optical fiber, or wireless technology (e.g.,Richochet™)).

In addition to the computer program, data for the basic scheduleinformation and other related data (e.g., data relating to a particularshow) are needed for the generation and maintenance of the televisionschedule and/or listing information guide. These data are received, inthe preferred embodiment, via line 22; they can also be provided via asatellite broadcast from satellite 24 or wireless technology (e.g.,Richochet™). Additionally, the television schedule and/or listinginformation and related data can be sent directly to television 32 viasatellite 24 or wireless technology (e.g., Richochet™). In thisarrangement, the television schedule information and related data doesnot have to be transmitted from computer system 10 to television system30.

In one embodiment, line 22 is a telephone line which provides access tothe internet or other on-line service via, for example, a regular modemor direct modem access to a schedule provider. The schedule data arethen provided to the viewer from a remote database via the internet orother on-line service, or directly from the service provider. As statedabove, line 22 can also be, for example, coax cable, optical fiber orany other land line which can provide data to computer 12. The softwareprogram saved on hard drive 14 then utilizes the data received on line22 to generate a television schedule guide. The user can retrieve thisgenerated television schedule guide when desired.

1. Overview of a Preferred EPG System

In a preferred embodiment, the electronic program guide of the presentinvention may be implemented either on a personal computer, a PCTV, atelevision connected to a set-top box, or a television including acustom board. However, the invention is not limited to any particularhardware configuration and will have increased utility as newcombinations of computers and television systems are developed. In thefollowing any of the above will sometimes be referred to as a “TVsystem”. Block diagrams of representative TV systems are depicted inFIG. 2. Details of implementation are not depicted because the inventionis not limited to any particular TV system.

As is well known, the picture to be displayed may be transmitted as ananalog signal, for example according to the NTSC standard utilized inthe United States, or as a digital signal modulated onto an analogcarrier. The signals may be received over a cable, or via an antenna orsatellite dish. Typically, television sets are designed to receiveanalog signals and computers display devices are designed to displaypictures encoded in a digital format. However, decoder system convertsthe digital data to an analog signal for display on a television set andTV modems can format analog TV signals for display on a monitor.

In FIG. 2, analog or digital TV signals, received via cable 60, antenna62, or satellite dish 64, are provided to a television system. If thesignal is from a digital broadcast service, then a decoder 66 convertsthe signal to baseband video and audio or channel 3/4 RF. If the signalis an analog signal, it is passed through as a live video output. Thetelevision system 68, depending on its configuration, receives selectedones of the outputs and displays the received program.

A PCTV includes a TV card 70, connected to either live video, basebandvideo, or channel 3/4 output, digitizes the video image and displays thevideo image in a resizeable window on the computer monitor. The PCTV isalso coupled to land telephone lines by a modem 72.

If the received signal is an analog TV signal the TV card of the PCTVdigitizes the analog signal and extracts included information from thevertical blanking intervals. On the other hand, if the signal is adigital signal, separate audio, video, VBI (vertical blankinginformation such as closed caption, teletext, and program relatedinformation), program guide, and conditional access information areprovided as separate bitstreams. The video and audio bitstreams forprograms are converted to a format for display and the program guideinformation is processed to form program guide database. The processor,executing software stored in memory, generates interactive electronicprogram guide images and images of received programs. The guide can beused to interact with and control programs displayed in the window.

A television system configured to display an electronic program guidesuch as a guide provided by StarSight telecast includes an on-screendisplay controller and other hardware described below. If a standardanalog broadcast signal is received program guide data is extracted fromthe VBI by a VBI data slicer and processed to form a program database.If a DBS digital signal is received, either from a satellite or cable,VBI and program data are provided in separate bit streams. The programguide images are generated are either generated locally or remotely andprovided to an on screen display controller. Interactivity is providedvia a remote control.

Alternatively, the program guide can be displayed on a computer monitor83 that interactively controls the television set through, for example,an IR interface including an IR blaster 84 to generate IR codes tocontrol the television and/or a VCR.

If the electronic guide database is generated locally, the system forcreating the electronic programming guide must receive televisionschedule information and process the received information to create adatabase. Thus, the system usually requires, a data reception unit, aprocessor, memory to store program code and a database, an on-screendisplay generator (OSD), and a control interface for tuning to selectedchannels.

In one preferred embodiment, the schedule information is transmitted asa set of short commands of specified formats. Different commandscommunicate information such as a show schedule for a given channel, thetitle of each show in the schedule, descriptions and informationattributes about each show in the channel. Thus, information for a showto be broadcast at a particular time is transmitted in several commands.ID numbers in the commands facilitate organizing the information into arelational database utilizing database engine (DBE) software stored inmemory and executed by the processor.

In a preferred embodiment, a board is included at a viewer's televisionset and the database is stored locally and commands are transmitted inthe VBIs of programming on a designated channel, for example PBS. Anexample of a board for receiving program guide information, generatingprogram guide database, displaying the program guide, and interactivelycontrolling the program guide is depicted in FIG. 3. The commands aretransmitted to the board in the vertical blanking intervals ofprogramming broadcast on a designated channel.

Alternatively, the commands could be transmitted to the local unit overland telephone lines. Additionally, as described below, the database maybe built remotely and the guide itself transmitted to the local unit.

The database engine builds a hierarchical database in the RAM. Thehierarchical structure of the database is depicted in FIG. 4. Thedatabase is structured internally as schedule data structures and themedata structures linked by handles and handle tables. Each handle is anindex to a handle table which contains pointers to blocks of memorywhere items of the database are stored.

In another embodiment, for example a DSS system, program guide data istransmitted as a bit stream that is processed by the database engine.

Additionally, a N.E.W.S. (new, entertainment, weather, and sports)database has been developed. Commands including story text and story IDsare transmitted. Links from the program guide to stories related to aprogram can be created and the related stories can be accessed from theguide.

An advertisement database is also created from commands includingadvertising text and logos including IDs for linking the advertisementsto shows displayed in the EPG. The user may access the advertisinginformation directly from the guide.

An internet database is also created from commands including URLs tointernet sites related to programs displayed on the EPG. If the vieweris viewing the EPG on a platform that is Web enabled, e.g., WebTV, a PC,or PCTV, then a linked site can be accessed directly from the EPG.

Additionally, a graphics program module builds various displaysutilizing schedule, show title, and other information from the database.If the OSD controller operates in the character mode the display is agrid of character codes which are transferred to the OSD controllerwhich generates the on-screen display.

An input-response user interface program module responds to user inputto generate new displays responsive to the particular input. In onepreferred embodiment, the user utilizes an input device, e.g., a remotecontrol, mouse, voice activated interface or keyboard, to place apointer over a part of the current display and clicks. A suitable inputdevice for use with the present invention is described in U.S.Provisional Application Ser. Nos. 60/022,826, filed on Jul. 26, 1996,and 60/015,648, filed on Apr. 19, 1996 (Attorney Docket Nos.14774-004000 and 005500), the complete disclosures of which areincorporated herein by reference. The input-response module responds tothe position of the pointer and the particular display currentlydisplayed to generate a responsive display or take a particular action.In another preferred embodiment the user interface responds to functionbuttons on a remote control. Specific examples will be described below.

2. Detailed Description of the EPG System

FIG. 3 is a block diagram of an embodiment of the electronic hardwareunit 52 utilized to perform the electronic on-screen schedule displayand other functions. The particular hardware unit 52 depicted is forTVRO (TV Receive Only) customers having home satellite dishes fortelevision viewing. This unit is coupled in series with existingcustomer TVRO equipment.

In FIG. 3, the unit receives Baseband Video in 123 from the customerTVRO system. The unit optionally outputs Baseband Video out 128 orchannel 3/4 RF out 130. The unit includes an 8-bit microprocessor 100,64 bytes of code ROM 101, 512 K of RAM 102 for program data storage, acustom gate array 103, segmented base registers 104 for fast memory datamanipulation, security logic 106 for decoding incoming encrypted data, aserial bus 108 for display controller interface, serial bus 110 forinter-processor communication, watchdog timer 112 for error recovery, IRinput 113, IR transmitter circuits 116 for TV, VCR control, IR output117, CRC-32 encoding and decoding logic 118, on-board power supply 120,video input 123, On-Screen Display Controller and Formatter 124, customcolor converter 126, RF modulator 127, choice of Baseband Video or RFoutputs 128 or 130.

The on-screen display controller and formatter (OSDCF) 124 functions asan I/O controller, an on-screen display controller (OSD), and also as aclosed-caption data (CCD) VBI data slicer. The VBI (vertical blankinginterval) is a dead space in a TV signal that allows a television signalto reposition the scanning electron beam from the bottom to the top ofthe screen. Digital data, for example close-captioned data, is modulatedonto the carrier signal during the VBI.

The OSDCF 124 includes an analog to digital convertor (ADC) whichdigitizes the incoming baseband video and extracts digital informationtransmitted in the VBIs. As explained more fully below, messages fortransmission to the database are transmitted in the VBIs. These messagesare transferred to the processor 100 which executes a data base engineprocess to build or update the database.

The OSD part of the OSDCF 124 includes cache memory, character memory,timing functions, and an external RAM. The OSD reads high level graphiccommands sent from the processor 100 and stores graphic information inthe RAM. The OSD outputs red (R), green (G), blue (B), graphic datawhich is used to generate a local video signal. Depending on the stateof the user input interface, described below, the OSD local video outputor the incoming live video will be displayed.

Accordingly, screen display graphic data generated by the databaseengine is transferred to the RAM of the OSD which the generates a localvideo signal that causes the display screen to be displayed on thetelevision screen.

3. Scheduling Data Structures

The DBE builds a hierarchical database in the RAM. The hierarchicalstructure of the database is depicted in FIG. 4. The database isstructured internally as schedule data structures and theme datastructures linked by handles and handle tables. Each handle is an indexto a handle table which contains pointers to blocks of memory wherestructures of the database are stored.

The hierarchy for the schedule data structures, in descending order, is:

-   -   Channel Data Table: contains subscriber unit's list of channels;    -   Show List: contains time slots for each show scheduled to be        broadcast for a channel;    -   Show Title: contains the title text and show title attributes;    -   Show Description: contains show's ratings, attributes, and        description text.

A channel data table, depicted in FIG. 5, is the highest data structurein the hierarchy. This table includes an entry for each channel receivedby the subscriber unit. The entries in the channel data table arechanged infrequently and are determined by the location of thesubscriber unit and type of services received. Each channel data tableentry includes information concerning the channel and a handle to a showlist handle table for the channel.

The next data structure in the hierarchy is the show list depicted inFIG. 6. The show list includes a start time typically being midnight GMTand 24 hours of scheduling. The channel's schedule is given by anordered sequence of show slots, with a show slot for each show to bebroadcast by a particular channel for a particular day. Each slotincludes a duration, show title handle, and show description handle.Finding an entry corresponding to a given start time requires theentries to be scanned, in order, from the beginning of show list andadding duration values.

The database, when fully constructed, holds a weeks worth of show listsfor each channel. The days of the week are accessed by incrementing theshow list handle by two bytes. The show lists are updated each day atmidnight GMT with the show list for the day just completed being deletedand the show list for same day next week being added to the database.

The next data structures in the schedule hierarchy are the show titleentries, depicted in FIG. 7A and show description entries, depicted inFIG. 7B. For a given show slot the show title entry and show descriptionentry are accessed utilizing the handles included in the slot. The showtitle and show description entries are stored in a memory pool dividedinto blocks. Each show title is identified by a unique 20-bit showidentification number (SID) and each show description is identified by aunique 20-bit number assigned at the head end. The show title handlesare based on the SID and the show title handles are offsets into a showtitle handle table. The entry in the show title table accessed by aparticular show title handle includes the address of the first block inthe memory pool where the show title entry is stored. Similarly, theshow description handle table entry accessed by a show descriptionhandle stores the address of the first block in the memory pool wherethe show description entry is stored.

Each show title entry includes theme index ID and the text of the showtitle. Typically, a single show title entry will be referenced by manyshow lists for different channels, days, and times. Thus, by utilizinghandles in the show lists all show lists reference a single show titleentry in memory so that memory is efficiently used. Many show titleentries have a long life because the show titles may be for series thatare broadcast over long periods of time and may be referenced by manyshowlists since many shows are broadcast by multiple channels.

Each show description entry includes a theme index ID, critics rating,MPAA rating for the show, traits mask bits, year produced, and showdescription text. Show description entries tend to have a shorter lifethan show title entries because a description is only valid for aparticular episode of a series.

4. Schedule Search

To obtain schedule information for a particular time and to display theschedule information in the programming grid requires the followingsteps. For each channel in the channel list, the show list for the dayis accessed and scanned. Horizontal blocks for the channel are sizedaccording to the duration of the show slots including and following theselected time. The show title entry referenced by each show slot isaccessed and the show title is displayed in the horizontal blockcorresponding to the show slot.

5. Favorite Channel Lists

Referring back to FIG. 5, every entry in the channel data table includesa FAVORITE LINK field. This field includes a link to a next favoritechannel and is utilized to form an ordered, linked list of channels inan order determined by the user.

The user interface and database engine provide screens to facilitate theordering and selection of channels to be displayed in the guide. A linkto the first channel in an ordered channel list is stored in memory.This link is utilized to access the channel table entry for the mostfavorite channel. The FAVORITE LINK in that channel is accessed andutilized to access the channel table entry for the next favorite channeland so on until a designated delimiter value, e.g., 0x00, indicates theend of the favorite channel list.

The capability of having more than one favorites list can be supportedby having multiple FAVORITE LINK fields stored in each channel tableentry.

6. Theme Data Structures

A powerful feature of the database is the ability to group shows bytheme. The theme IDs stored in the show title and show descriptionentries are utilized to match particular shows to particular themes. Forexample, a viewer may want to see a listing of all comedy movies.

Each primary category, movies in the example above, has a theme categoryentry included in a theme category table, depicted in FIG. 8. A themecategory entry includes a theme category ID, a handle for thesubcategory handle table, and the theme category name. The themecategory ID is used identify theme sub-categories, comedy in the exampleabove, for this primary category.

There is a theme sub category table, depicted in FIG. 10, for eachprimary category. The table contains entries for each theme sub-categorycontained in a primary theme category. Each table entry includes thetheme IDs corresponding to the sub-category entry and the name of thesub-category.

7. Theme Search

When the viewer initiates a search for a particular type of show, forexample a comedy movie, each channel is inspected and theme IDs of eachshow listed are compared to theme IDs stored in the comedy entry of thetheme sub-category table corresponding to the movie primary categoryentry. Information about shows with matching theme IDs is stored in atheme search data structure in a user interface local buffer.

The theme search function requires two calls to the database. The firstof these calls initializes the theme search data structure to the firstshow that matches the theme category for a specific channel entry,including the shows time offset from the search time. The second callwill then find the next matching show after a particular offset time,updating the theme search data structure and returning the offset to thenext show.

The basic algorithm for them user interface access is:

-   -   1. for a given starting time, for each channel entry, find the        first show that matches the theme criteria on or during this        time and create a list. Keep track of the channels that had        matches;    -   2. sort the list of shows in time order;    -   3. find the channel with the earliest show in the sorted list;    -   4. place this earliest show into the user interface search list;    -   5. for the channel with the earliest show, request the next show        that matches the theme criteria and updated offset time;    -   6. repeat steps 2-4 until all shows have been located or other        specified limit is reached (i.e. search may be for a limited        number of matches).

The shows for the selected category are then displayed in time order.

8. Ad Data Structures

An ad list data structure is similar to the show list. It includes astart time and 24 hours of ad scheduling. The ad list is regionalizedand includes an ad slot for each ad to be broadcast for a given day. Thead slot includes a duration and an Ad ID utilized to access an ad entry.

Each add entry includes an ad banner text field, an ad text field, and apointer to an ad logo, if appropriate. The ad logo includes a graphicsfile to be displayed with the ad.

9. Building the Database

The data base is built by a data base engine software module operatingon the processor. Messages comprising discrete commands are received bythe database engine. Examples of commands include a Region Command whichspecifies channels available for a particular subscriber unit to beincluded in the Channel Data Table; a Channel Data command includinginformation utilized to form the entries in the Channel Data Table; andShowlist, Show Title, and Show Description commands including SIDs andDIDs referencing areas in memory. The database engine selects onlyShowlist Commands relevant to channels included in the Channel Table forfurther processing.

The data base engine creates storage locations in memory for all SIDsand DIDs included in any Showlist. Information included in commandshaving matching SIDs or DIDs is written to the referenced memory area.In practice the SIDs and DIDs are processed by a hashing system for moreefficient searching.

The messages may be transmitted to a subscriber unit in various ways. Asystem for receiving messages in the VBIs of broadcast programming hasbeen described above. In a DBS system the messages may be transmitted ina dedicated bit stream.

In a DBS system video baseband signals are digitized, compressed, andmodulated onto an analog carrier signals. Because of advances in the artof compression, a carrier once used to transmit a single program can nowtransmit four programs. Typically, in addition to video signals otherbitstreams encoding information such as audio, VBI (vertical blankinginformation data such as closed caption and teletext), program guideinformation, and conditional access information are provided as separatebitstreams, multiplexed into a composite bit stream, and modulated ontoa carrier signal.

Alternatively, the database itself may be transmitted in a digital datastream. For example, in DES the program guide information is transmittedin block of 3 hours of programming for 36 channels. Programming isdigitally modulated onto different bands. As depicted in FIG. 10, asatellite has several transponders 500 simultaneously transmitting ondifferent bands. Several channels can be modulated onto a single bandutilizing digital compression techniques. A bit stream including thecurrent programming is carried by all bands. However, future programmingfor different blocks of channels is transmitted on different bands. Theblocks are transmitted in as a carousel or endless loop so that theremay be a delay before a particular time band is received.

A decoder at the viewers location receives 16 carriers and controls atuner/demodulator to select one carrier. The carrier is sampled,decoded, error-corrected, and demultiplexed to separate the various bitstreams. The decoder includes video decoder chips decompress compressedvideo to reconstruct pictures of virtually any size.

When the viewer accesses the guide the block for that time period isloaded into memory so that the user can interact with the guide. For afuture time and different channel there may be a time delay. Forexample, if the current programming block were B1 and the blockcurrently received is B4 the user must wait for blocks B5, B6, and B7,to be transmitted before the current programming can be received anddisplayed. The viewer would wait for a time delay equal to the sum oftime durations for transmitting each block, i.e., d5+d6+d7. If theprogram guide block is modulated onto a different band the cable boxmust tune to the band and wait until the desired block is transmitted onthe carousel. So if the guide is accessed for future programming therecould be a delay.

For cable the database is built at the SST head end and sent overland-lines to the cable head end. Cable company sends data anyway itwants, VBIs, satellite, digital, etc.

10. User Interface

The user interface takes remote control commands as its primary input.In one embodiment a user requests various functions by pressing functionbuttons on a remote control. In another embodiment, the GUI is utilizedwith different interactive regions on a displayed screen correspondingto different functions. The user moves the cursor over the interactiveregion corresponding to a desired function and selects the function togenerate command. The particular form of entering a command is notcritical and technology for utilizing voice commands may soon beavailable.

The user interface receives commands and responds with a requesteddisplay screen and by performing the function requested by the command.The function performed may be to perform an action such as recording aprogram, tuning to a channel, accessing a related internet site,purchasing a pay-per-view program, or purchasing merchandise. The dataand format of each screen is dependent on the previous screen, time ofday, the contents of the data base, the command received, and otherparameters. A state table is used to define the screen flow.

For every defined screen, there is an entrance function, an exitfunction, an update function, and an array of request-handlingfunctions. The entrance function is called when a state is first enteredto collect all necessary data and format the screen. The exit functionis called to release memory and data for the screen. The update functionis called once per minute to update the screen time and to re-draw thescreen if any information displayed on the screen needs to be updated.

Once in a particular state, the table contains a reference to anothersoftware function corresponding to each key on the remote control or toeach interactive region on the screen. These referenced functions willbe executed whenever an associated remote control button is pressed orinteractive region is selected.

For example, if the user wishes to record a program, in the GUIembodiment, the viewer moves the cursor over the record interactiveregion which is then selected to request that the recording function beperformed. A confirmation screen will then be generated. Once the userconfirms the recording request, an entry is made in a recording queue. Arecord daemon is then called from the real-time executive to examine thequeue and manage recording functions.

The screens are displayed by the on-screen display (OSD) controllerbased on graphic display commands issued by the database engine. Amongthe primitive commands need to draw system display screens are the EraseScreen Command; Draw Rectangle Command; Save Rectangle Command; RestoreRectangle Command; Move Rectangle Commands; Write ASCII String Command;and Draw Channel Icon Command.

Each screen includes areas that are constant and based on code and datastored in non-volatile memory and variable areas such as show titles anddescriptions which utilize data stored in the database. As describedabove in the description of the database engine, the database isstructured to facilitate efficient searching for information, generallyin the form of ASCII text strings, stored in the database. Additionally,graphics files are also being stored in the database to be displayed inwindows of the display screen.

FIG. 11 illustrates several arrangements according to the presentinvention for providing television schedule information from an externaldatabase to a television for display. In one embodiment, on-lineinformation providers (Prodigy, America On Line, Compuserve, MSN, AT&T,etc.) provide access to a database which contains the televisionschedule information. These on-line information providers can transmitdata to television 200. In this embodiment, a modem within accessory 202is utilized to provide the data. Accessory 202 is attached to television200 and directly connected to telephone line 208 via the modem. Themodem for access to the on-line service can also be located withintelevision 200. Software, located either within accessory 202 ortelevision 200, is used to search for and provide the data, along withproviding several other features described below.

The available data, displayed on television 200, can emulate what acomputer on-line user normally sees when accessing the internet througha personal computer. This television schedule data can also be furtherenhanced to “tie into” the televisions show that the user is viewing.Alternatively, accessory 202 may be replaced by accessory 222 which isattached to set-top box 220 (e.g., a cable box). The data provided viathe on-line information provider is then transmitted to television 200over line 240. Similarly, accessory 232, attached to VCR 230, can beused to obtain the television schedule data. The data would then betransmitted from VCR 230 to television 200 over line 250.

In another embodiment, the database with the television scheduleinformation is located in memory 206 within television 200. Controller204 is used to obtain the data from memory 206 so that it can bedisplayed on television 200. Alternatively, the database with thetelevision schedule information could be located in memory 226 (withinset-top box 220) or in memory 236 (within VCR 230). Controller 224 orcontroller 231 would be used to obtain the data which would then be sentto television 200 for display via line 210 or line 250. Therefore, thetechnology that enables the television schedule information to beprovided from a database to a television for display is not specific toany given data system. In summary, this technology can be resident inthe user's set-top box 220, television 200, VCR 230, personal computeror the like.

The television schedule information provided from a database can be usedto provide information which is independent of the viewer's programchoice. For example, from a television schedule guide, the user canutilize remote control 210 to press a Services button. This Servicesbutton can be located on remote control 210 or within the televisionschedule guide display. When the Services button is pressed, the user isgiven choices such as News, Weather, Sports, Scores, Financial Data,Local Traffic, etc. Using remote control 210, the user can then selectthe area or title of interest, and the associated information from thedatabase is provided. If accessory 202 is used, a modem accesses theon-line service which provides the information from the database. Oncethis connection is made, the user has two-way communication with theon-line service provider. The user can then go deeper into the givenselections or, if requested and keyboard 262 is available, can accessthe Internet and enter chat rooms or other interactive services. In thepreferred embodiment, keyboard 262 is either an IR keyboard or connectedto port 260 on accessory 202.

In yet another embodiment, a television program title and/or a program'scontent is contextually linked to an on-line service or to an availabledatabase. In this arrangement, a user, in conjunction with the data madeavailable through an electronic program guide (or navigational system),can link, search, select, and/or initiate a subscription to moreinformation relating to specific areas of interest or concernsassociated with a program or a program's title. In the preferredembodiment, a user of an electronic program guide (e.g., as describedabove) can conduct a search for information about a particularprogram/television show or for information relating to the show, theactors, the actresses, the show's theme, other broadcast times orsources, and other related information through selection via a userinterface. This linking of program title and/or program content toadditional related information could be operable whenever a programtitle is accessible in a electronic program guide. Additionally, thislinking could be available whenever a user requests it via the currentlytuned program.

For example, a user previewing the program such as a movie (e.g.,“Casablanca”) can receive information regarding (1) the actors andactresses in that movie, (2) other movies released during the same timeperiod, (3) associated available products, (4) related travel packages,and (5) advertisements and promotions available through primary,secondary or third party vendors, other broadcast times or sources.Utilizing a user interface such as remote control 210 or keyboard 262,the user can indicate to the electronic program guide what informationthey would like to view on television 200. The electronic program guidethen lists a selection of choices for the user. In the preferredembodiment, the choices are associated with the context of the selectedprogram and can be changed via the electronic program guide supplier. Inthe “Casablanca” example, the choices might be (1) Other Humphrey BogartMovies, (2) Other Lauren Bacall. Movies, (3) Other Movies Released inthe Same Era, or (4) Associated Products, other broadcast times orsources. The user selects from the presented choices, and the electronicprogram guide contacts and communicates with the database of availableinformation for more detailed information relating to the user's choice.Once contact and communication is established between the user and thedatabase of available television information, the electronic programguide acts as an agent to assure that the information flow andappropriate data is exchanged. At this point, the user can delve deeperinto the available information by selecting from a series of furtherchoices or related topics. For example, if the user chooses (1) OtherHumphrey Bogart Movies option, the electronic program guide contacts andcommunicates with the selected database of available information. Thedatabase of available information is then used to collect the requesteddata of other Humphrey Bogart movies. The selected choice is transmittedand used by the electronic program guide as its contextual reference forthe search. A list with the search results is then displayed ontelevision 200.

Once the user sees the list of broadcast times or sources for“Casablanca,” or other Humphrey Bogart movies, the user can select anyof the available titles for recording or watching, or digital storagewhen digital program directories, libraries, or archival sources areavailable. In the preferred embodiment, each time the available databaseis contacted and searched, previously selected movies can be identified.In addition, a user can select certain types of programs to be recorded,watched, or retrieved for digital storage before any particular programis available to the electronic program guide. Moreover, each time aconnection is made to an on-line service, the software can search thedatabase and set the selected types of programs to be recorded and/orretrieved for digital storage. These features enable a consumer to nevermiss a favorite program.

The system and method of the present invention may be configured toautomatically or manually customize the television schedule guide to anindividual viewer or a group of viewers, e.g., a family. In thisembodiment, the remote control device may be used to select certainprograms, and a memory stores the television programs that have beenselected by the viewer. The programs can be selected for a variety ofreasons, such as a designation of the program as a favorite, placing areminder to watch the program or, when the television schedule systemincludes a recording device, placing an automatic reminder to theprogram guide to record the program or, when the television schedulesystem includes a means of digital storage, automatically downloading orproviding an easy confirmation process for downloading the program. Theuser may also customize specific preferences based on a program title.Through a series of repetitive operations, the electronic program guidecan select programs, titles or services that the user would likely beinterested in. This can be accomplished through a user interface whereinthe user answers preference or choice questions, or through heuristiclearning accomplished through the electronic program guide. Theelectronic program guide would include software for performing thiscustomization.

In an exemplary embodiment, the system includes a database containingeach program within the television schedule and/or listing information.The database may be included within a computer integrally combined withthe television (e.g., PCTV), a computer that is coupled to thetelevision through suitable lines, or the database may be accessed froma remote computer, e.g., via the internet or other communication medium.Within the database, each program is associated with a variety ofcriteria or features, such as particular actors, actresses, directors,the type of movie (e.g., action, comedy) and the like. When the viewerselects a program as a favorite, for example, he or she will have theoption of designating the criteria or reason(s) that the program is afavorite (i.e., actor, director, etc.). The computer will include aprocessor and suitable software for automatically searching the databasefor other programs having the same criteria. The processor willautomatically place the programs that include the designated criteriainto the selection window and provide visual indication of each programin the matrix of cells in the program guide. In this way, the programguide will automatically customize itself to the individual viewer tofacilitate use of the television schedule. A more detailed descriptionof this method can be found in commonly assigned co-pending ProvisionalApplication Ser. No. 60/015,648, filed on Apr. 19, 1996 (Attorney DocketNo. 14774-005500), the complete disclosure of which has previously beenincorporated by reference.

In another embodiment of the invention, the system will automaticallyrecord television programs that are listed as a user's “favorite” or insome other category (i.e., contextual recording). In this embodiment, auser identifies to the system (or the system automatically identifies)favorite subject matters, actors, actresses, etc, as described in detailabove. For example, the user may input into the system that he/she wouldlike to add Jerry Seinfeld to the “favorites” list. Thereafter, thesystem tags any program it finds where Jerry Seinfeld is involved (i.e.,he is a guest on the Tonight Show). In addition to tagging the showaccording to this embodiment of the invention, the system willautomatically program the VCR or similar recording device to record anyor all of the shows with that tag. The user may then view thecontextually recorded programs at any time he or she desires. Thus, thesystem will constantly search for any show that includes Jerry Seinfeldand record that show, episode, or only the portion of the show thatinvolves Jerry Seinfeld. The user will then have a list of all the showsor some of the shows that feature Jerry Seinfeld, and can view theseshows at his or her leisure.

FIGS. 12 and 13 illustrate an interactive television schedule system 300according to the present invention which can access television scheduleinformation from the internet, and provide user access to the internet.Access to the internet may be provided in this embodiment without tyingup any phone lines, and without the need for a personal computer (e.g.,an “NC” or Network Computer). As shown in FIG. 12, interactivetelevision schedule system 200 includes a cable system 310 coupled to atelevision system 320. Cable system 310 generally includes a processor312, and a memory 314. Television system 320 includes a television 322and a user interface device 340. Similar to the above embodiment,television system 320 may include VCRs 324 and 326 coupled to television322. In a specific embodiment, memory 314 of cable system 310 storessoftware 316 for receiving, organizing, and displaying any received datainto a television schedule guide. In addition to software 316, data forthe basic schedule information and other related data (e.g., datarelating to a particular show) are also stored in memory 314 as they areneeded for the generation and maintenance of the television scheduleguide. This data is received, in the preferred embodiment, via a cablemodem 318, which may access the data from the internet. The software 316then utilizes the data received from cable modem 318 to generate atelevision schedule guide. The user can access this generated televisionschedule guide when desired.

In the embodiment of the present invention shown in FIG. 12, twoprograms provided at the same time can be automatically recorded becausetwo VCRs 324 and 326 are present. The user need only select two programsfor recording and the present invention will automatically cause theprograms to be recorded when they are aired in an unattended fashion.The user can also directly select which device or devices will berecording or tuning for each selected program. For additionalinformation, see commonly assigned U.S. Pat. No. 5,151,789 to Young, thecomplete disclosure of which has previously been incorporated byreference.

FIG. 13 illustrates an arrangement for providing television scheduleinformation from cable system 310 to a television for display. In oneembodiment, cable modem 318 provides access to a database, which may beon-line; the database contains the television schedule information, andthe information is transmitted to the television. Software 316 stored inmemory 314 is used to search for and provide the information, along withproviding several other features described below. The available data,displayed on the television, may be stored in memory 314 within cablesystem 310, or within a database 348 within television 322. A controller352 is used to obtain the data from memory 314 or from database 348 todisplay it on television 322. From the television schedule guide, theuser can further utilize user interface 340 to press a “Services”button. This Services button can be located on the user interface orwithin the television schedule guide display. When the Services buttonis pressed, the user is given choices such as News, Weather, Sports,Scores, Financial Data, Local Traffic, Network, etc. Using the userinterface, the user can then select the area or title of interest, andthe associated information from the database is provided.

The user can further access the internet by choosing Network from theguide using the user interface. Cable modem 318 accesses the Internet,and once connection is made, the user has two-way communication withon-line service providers. The user can then access the differenton-line services. For example, a user viewing a sporting event may pressthe Services button, and a different menu will appear with the followingchoices: (1) Sports Scores, (2) Current Game Statistics, (3) CurrentPlayer Statistics, and (4) Associated Products. If the user selects (4)Associated Products, the software, will notify the cable modem andinstruct the cable modem to establish connection with an on-line serviceprovider. The on-line service provider then lists a series of selectionsassociated with the game (e.g., 49er's hats, Giant's Baseball Bats fromLouisville Slugger, Nike Spiked Football shoes for Pop Warner, etc.),and the user can interact with the service provider accordingly.

FIG. 14 illustrates a system and method for accessing televisionschedule information from one or more servers 350 on a computer network360, such as the Internet or the World Wide Web. The televisioninformation guide may be accessed and viewed through a computer system,a television system, a PCTV, or a simple display coupled to acommunication link, such as a telephone line or the like. In therepresentative embodiment, a PCTV 362 is illustrated with a user inputdevice 364, such as a remote control, keyboard, mouse or the like, and acommunication device 366 for accessing computer network 360. Asdiscussed above, communication device 366 may include a wide variety ofdata lines, such as telephone lines, cable modems, etc.

In one embodiment, the computer network 360 includes a plurality ofservers 350 and a database 370. The database 370 includes televisionschedule information, which may be retrieved and viewed on PCTV 362.Servers 350 represent file servers having files, databases or the like.In a representative embodiment, the computer network is the World WideWeb and each server 350 is set up as a network file server addressableby a unique address. For example, the servers 350 may be configured tofollow a common network protocol such as the Transmission ControlProtocol (TCP), and the Internet Protocol (IP) (commonly referred tocollectively as TCP/IP), and may be assigned a unique IP address orinternet domain name. For example, the servers may be assigned thedomain name “invoice.com”. The servers 350 may also have some form ofserver software installed to permit the system to function as aninternet graphics server. For example, the servers 350 may be configuredwith HyperText Transport Protocol (HTTP) server software to permit thesystem to function as an internet “world wide web” (WWW) server. In thisembodiment, PCTV 362 may access servers 350 via the WWW using WWWcompatible software by indicating the system's uniform resource locatoraddress: “HTTP://www.invoice.com”.

In another embodiment, the television schedule guide (not shown) isstored as one or more files (e.g., a websites or internet broadcasttransmitters) on one of the servers 350, which can be accessed by anyviewer having access to the World Wide Web. The television scheduleguide or website may be configured for viewing and interacting withtelevision information directly on-line, or it may be configured fordownloading the information into a computer hard drive or other suitableprocessor. The guide will provide listings information for all channelsin the viewer's local cable line-up. Preferably, the guide will becapable of creating personalized TV listings with search and sortfeatures (discussed below) that allow the viewer to call up favoriteprogramming choices based on categories, such as channel, day, actor,movie genre or other desired categories. The guide may also includeother information about programs, such as ratings, stars, type of movie(e.g., suspense, comedy, drama, western, musical, children, biography,horror, etc.). This information may be provided on the actual websiteand/or internet broadcast transmitter, or the website and/or internetbroadcast transmitter may provide means for linking the viewer withother websites and/or internet broadcast transmitter to provide moreinformation on certain topics and categories.

Since the television guide website and/or internet broadcast transmittermay be accessed from virtually any location in the world, it willpreferably include a mechanism for selecting a region from which thetelevision guide is applicable. For example, the television guide mayinclude television schedule and/or listing information from a variety ofcountries throughout the world, or the information guide may be limitedto the United States. To obtain television schedule information for aparticular region, the user can select an appropriate state, city, orother region, such as a region covered by a particular cable company.Alternatively, the television schedule guide may provide information forcertain networks and stations (instead of particular channels orstations), such as CBS, FOX, HBO and the like, that are global to allregions of the country. With this configuration, the television guidemay include a time zone selection so that the guide can automatically beconfigured for the particular time zone in which the user will watchtelevision.

In one embodiment of the present invention, the system will include asearch engine that allows the viewer to search for particular types ofprograms that will be broadcast within a certain period of time. Thesearch engine may include categories such as title, description,category, dates, day parts, channels, actor/actresses, directors, etc.In addition, the viewer may obtain more information on the programswithin each category. For example, the guide could provide informationon movies in many categories, including theatrical, made-for-TV movies,Spanish, French, etc. The guide can tell you what Clint Eastwood moviesare on this week, how many StarTrek episodes this weekend, or whetheryour favorite basketball team is on TV this Saturday. The on-line viewermay customize their own listings by title, year, actors, director, runthemes, critical star rating, MPAA, warning lines, video laser disc,full descriptions, genre, and holidays with themes. In another example,the guide could provide information on shows and series, includingnetwork shows, first run, British, PBS, cult favorites, syndicatedshows, talk shows, local productions and obscure programs. The user maysort by, for example, title, episode run times, genre, original airdate, etc.

In another aspect of the invention, the web site television guide willinclude a highlight section that highlights particular programs thatwill be broadcast during the day, week or month. For example, the guidemay have a web page that picks a “hot pick” for each day of the week,and provides a picture or video together with descriptive information,such as an editorial comment, on the video hot pick. In addition, theuser may be able to move to other areas where more information can beprovided on particular moves, such as articles, interviews withactors/actresses, editor's choice reviews, commentaries, etc.

In another aspect of the invention, the system will include a variety offiles on the same or different network servers that allow the user tointeract with other users, program sponsors, advertisers, etc. Forexample, the system may have a web site that allows viewers to chatabout certain programs (each program itself may have its own web site).In addition, the system may include a “virtual agent” that searchesexisting websites and/or internet broadcast transmitter on the internetand points to websites and/or internet broadcast transmitters that mayinterest the viewer. The virtual agent will learn from previous userchoices to customize the television guide for each particular viewer.

FIG. 15 schematically illustrates a system and method according to thepresent invention for linking television viewers with broadcasters andadvertisers during the broadcast of a commercial or program. As shown,system 400 includes a viewer interface 402, such as a television,computer, PCTV or a television coupled to a computer system. Forconvenience, the system will be described as utilizing a PCTV 402. Adata line 404, such as a cable modem, telephone line or othercommunication link, couples the PCTV 402 with a remote database, networkserver or on-line-service, such as the Internet 406. A television guidedatabase 408 is also coupled to the Internet 406 for providing thetelevision schedule information to PCTV 402. This information may bedownloaded to PCTV 402, or it may be configured for viewing only whilethe viewer is actually connected to database 408. Alternatively, thetelevision guide may be drawn locally from a processor within PCTV. Asshown, a commercial provider 410 (e.g., Budweiser) and/or a televisionstation broadcaster 412 (e.g., ABC) also have databases directly coupledto PCTV 402 or through Internet 406.

PCTV 402 may include a memory and a processor with appropriate software(not shown) for searching and retrieving information from databases onthe Internet 406 based on user selections. Alternatively, this functionmay be provided through Internet 406, television guide database 408 orthrough the commercial provider 410 or broadcaster 412. In thisembodiment, PCTV may access, download, and/or automatically upgrade anapplication or applet (e.g., a Java™ applet) having the appropriatesoftware to run the television schedule guide on a display, e.g., acomputer monitor, television display or other user interface.

In one example, the viewer is watching a sports event, such as afootball game. One or more icons or other visual indicators are locatedon the television screen in a convenient location, such as the top,right corner. One of these icons may be an icon that represents thetelevision schedule guide. The viewer can move a cursor or other visualindicator to the television guide icon and click thereon to open up thetelevision guide as discussed in detail below. Another icon may beprovided, for example, by a commercial sponsor. Moving into andactivating this icon allows the viewer to link with a database providedby the commercial sponsor, or to a portion of the television scheduleguide database that allows the viewer to purchase an advertised product,make a monetary contribution, respond to a survey, answer a question, orparticipating in contests with other viewers, for example.

By way of example, Budweiser may provide a database 410 that allows theviewer to purchase a coupon for a free six-pack or other items, such asBudweiser T-shirts, hats, etc. The viewer may purchase the coupon, hats,or T-shirts directly through the commercial sponsor, or through adelivery system provided by the television schedule guide (discussed indetail below). This type of advertising allows the advertiser todirectly target a particular program, and it allows the viewer todirectly purchase the products during the advertisement. In addition,viewers will not forget the advertisement or simply lose motivation tospend money or request information after the commercial or program isover.

In another example, the television network that is broadcasting theprogram may provide an icon that allows the viewer to access a database412 providing more information about the football game, previews ofupcoming programs related to the program, such as another football gamelater on in the week, or other products and services related to thefootball game.

FIGS. 16-21 illustrate a sample television schedule system 500 with agrid guide, and methods for utilizing the television schedule systemwith the contextual linking system and method of the present invention.Of course, it should be recognized that the invention is not limited tothe specific television schedule system shown in FIGS. 16-21. Forexample, other suitable television schedule systems are described in theuser manuals “Using Starsight 2”, “Starsight Interactive TelevisionProgram Guide, Phase III”, and “Starsight Interactive Television ProgramGuide, Phase IV”, which are attached to U.S. patent application Ser. No.unassigned, filed Apr. 11, 1997 (Attorney Docket No. 14774-004410), asAppendices A, B, and C, and of which are incorporated herein byreference, or commonly assigned U.S. Pat. Nos. 5,353,121, 5,479,266, thecomplete disclosures of which are also incorporated herein by reference.The television schedule system 500 shown in FIGS. 16-21, however, isparticularly advantageous with the contextual linking system of thepresent invention as it enables the viewer to quickly and efficientlybrowse through the television schedule, and to interact with a widerange of services that are related to the programs in the televisionschedule.

FIGS. 16A and 168 illustrate a program guide 502 and a channel guide504, respectively, for the television schedule system of the presentinvention. The program guide 502, which is the primary mode in thetelevision schedule system, includes a number of screen informationareas or windows in a particular screen where the viewer operates ainput device, such as a remote control, to move around vertically andhorizontally and to interact with that screen area's function. Withineach screen area are one or more items, typically arranged in a matrixor grid so that the viewer can scroll through the grid to select oractivate items within the grid. Activation of an item will invoke aSubmenu, a Dialog, a Panel, invoke an action or the like.

As shown in FIG. 16A, program guide 502 preferably includes a scheduleinformation area 506 having a program matrix 508 of cells or items thatdepict the shows that are being presented on each channel at each timeduring the day. Program guide 502 conveniently lists the channels in avertical column to the left of the program matrix 508 and the times in ahorizontal row above matrix 508. As shown, the viewer may verticallyscroll through a particular time or horizontally scroll through achannel with the remote control device. As the viewer scrolls throughmatrix 508, a cursor 510 will indicate the user's location within thematrix 508. Alternatively, the item may be automatically highlightedwith a brighter color to indicate the viewer's location. Preferably,program matrix 508 will also be shaded to indicate the portion of eachshow that has already been presented. For example, as shown in FIG. 16A,the shading extends to 7:48 (the current time as indicated at the bottomright of program guide 502) to indicate which portion of the show theviewer has already missed.

As shown in FIG. 16A, program guide 502 includes a number of otherinformation areas. For example, program guide 502 includes a mode menuarea 512 that indicates the currently active mode (i.e., program guide502) and allows the viewer to pull down a mode menu 514 (see FIG. 17A).Program guide 502 also includes a date area 516 that indicates the datereflected in program matrix 506 and allows the viewer to pull down adate submenu 518 to change the date. In other submodes, the submode menuwill display options for ordering or displaying lists that areappropriately related to the submode. A proportional scroll bar 520located to the left of program matrix 506 is visually proportional tothe total information in program matrix 506 to provide visual feedbackas the user vertically scrolls through matrix 506. In addition, scrollbar 520 may be used for large-scale movement through hundreds ofchannels/sources by navigating to bar 520 and then vertically moving bar520. An exit area 522 allows the viewer to immediately exit back to thetelevision by navigating to exit area 522 and clicking on the remotecontrol device. A program area 526 depicts the currently tuned programand a preview window area 528 can be used for all types of promotional,descriptional, or contextual video or graphics, such as a short previewof the show that is currently being highlighted in show matrix 506.Preview window area 528 may also be interactional similar to the otherareas of guide 502.

The program guide may also include a variety of additional areas tofacilitate use of the television schedule system, present information tothe viewer or advertise programs or other products. For example, ascrolling commercial message 524 may be located underneath programmatrix 506 that advertises programs or products from program sponsors,etc. The viewer may navigate to message 524 to receive more informationor to purchase the product or program.

This function of ordering items is not limited to videos. For example,the program may access other contextual linked services such as acommercial store, etc., to allow the purchaser to buy a wide variety ofdifferent services or goods directly or indirectly linked to aparticular program. For example, an Info Menu for Monday Night Footballmay allow the viewer to scroll through submenus that allow the viewer topurchase Washington Redskins' caps, Minnesota Vikings' caps or any NFLcap. The viewer has a choice to follow a program's link back to thecommercial area where a larger selection of items and services areavailable. A product like the cap above may lead the viewer directly toan NFL proshop, whereas a link to a movie on demand may lead back to acommercial film library.

FIG. 16B illustrates the television schedule system of the presentinvention in the channel guide mode. As shown, channel guide 504 issimilar to program guide 502 except that it includes an informationscreen area 530 that is reversed from the information screen area 506 inthe program guide. Thus, the viewer can scroll vertically to moveforward and backward in time along one channel and horizontally to movefrom channel to channel.

FIGS. 17A-17C illustrate a method of accessing program guide 502 from acurrently tuned program and browsing through other currently tunedprograms with remote control device 2. As shown in FIG. 17A, the vieweris watching a television show on a display screen 532, such as a MondayNight Football game featuring the Washington Redskins versus theMinnesota Vikings. Clicking on the remote control device automaticallycauses a Program InfoMenu 530 to pop up on a portion of the televisionscreen 532 (see FIG. 17B). Program InfoMenu 530 may allow the viewer toobtain more information about the currently tuned program, move toprogram guide 502, move to contextual linked services (discussed below),or exit InfoMenu 530 back to the television show. The viewer mayvertically scroll through these options upwards or downwards, and selectone of the options. For example, clicking on the “Go to program guide”section immediately transfers the viewer to the program guide, as shownin FIG. 16A. To browse other currently tuned programs, the vieweremploys suitable channel controls or other input commands on the remotecontrol device (not shown). As shown in FIG. 17C, the viewer may browsethrough other information menus while viewing the currently tunedprogram.

FIGS. 18A-18E illustrate a method of ordering video on demand with thesystem of the present invention. As shown in 18A, the viewer opens upthe program's InfoMenu 530 and scrolls down to the “linked services”item. The viewer is then presented with an easily scrollable menu 562 ofitems and services associated with this program, as shown in FIG. 18B.Some, denoted with a dollar sign, are purchasable. Free items would beinstantly accessible to the viewer. Here, the viewer may be prompted toa simple procedure to specify when the movie is to be delivered. Whenthe viewer selects a particular service or item requiring a financialtransaction, a purchasing sequence unfolds. As shown in FIG. 18C, theviewer is prompted to enter the master password/access code via theremote keypad or other means. For example, the viewer could swipe his orher credit card through a slot on the remote control device. If thepassword/access code is accepted, the viewer is given a finalopportunity to review the purchase and/or either confirm or return tothe previous item menu (see FIG. 18D). When the viewer confirms his orher purchase and/or order, a receipt 570 is shown (FIG. 18E). The vieweris given the choice of returning to the previous item menu or, asalways, at the very bottom item “0”, to return to the program guide.

FIGS. 19A-19C illustrate another embodiment of the present invention inwhich the television viewer may accept incoming e-mail messages or sendoutgoing messages to other television viewers or users connected to thetelevision schedule system, e.g., users on the Internet. As shown inFIG. 19A, the viewer scrolls down to the Messages window in the Modemenu and activates this window to enter a submode menu. To read incomingmessages, the viewer scrolls down to the “Check new messages” cell andactivates this cell to display messages that have been received. TheMessages mode organizes incoming messages in order of date received anddisplays them in lists (see FIG. 19B). The viewer may then scroll to aparticular message, as shown in FIG. 19C. To send outgoing messages, theviewer scrolls down to the “Create message” cell and activates this cellto open up a blank window. A message may be created by inputting text onthe input device, through voice activation via a microphone on the inputdevice.

FIGS. 20A-20C illustrate a method of accessing a whole variety of otherservices to the Internet with the interactive television schedule systemof the present invention. As discussed above, databases on the Internetmay be accessed through a telephone line, cable modem or other means ofcommunication. As shown in FIG. 20A, the user scrolls down to the worldof services mode and clicks on this mode to obtain a submode thatincludes a variety of different services, such as news, weather andsports, previews and reviews of programs on the television scheduleguide, a super mall for purchasing products and services related to theprograms in the television schedule guide, or other products andservices on the Internet or World Wide Web. As shown in FIG. 16C, theuser has selected news, weather and sports, which opens up another menuinvolving a variety of special services, such as headline news, nationaland local weather, sports central, business and stock updates, musicvideos, daily horoscope, cartoon of the day and/or other servicesrelated to news, weather and sports. These services may be provided by aspecial database that is linked to the television system, to an on-lineinformation provider, such as America On Line, Prodigy and the like, orwith a search engine that searches network servers or databases on theInternet and World Wide Web. As shown, the user selects headline newswhich opens up another menu providing the user with a variety of newsreports that may be accessed. The news reports may be viewed, printedout, or downloaded to the computer system that is attached to or anintricate part of the television system, (e.g., PCTV).

FIGS. 21A-21F illustrate a representative system and method forcontextually linking related items and services to a particular programin the program guide 502. As shown in FIG. 21A, the viewer selects aparticular program within guide 502, to access that program's info menu.Within the info menu, the viewer then scrolls to linked services andclicks on this window to move into a database that includes items andservices contextually related to that particular program. In the exampleshown, the viewer has been watching a sport event featuring theWashington Redskins v. the Minnesota Vikings. The viewer is transferredto a window that provides a number of options for purchasing items andservices related to that game, such as Washington Redskin or MinnesotaVikings paraphernalia, other NFL teams paraphernalia (in an NFL sportspro shop), or highlights of other games between these two or otherteams. Alternatively, the viewer may order a tape/transcript of theprogram that is currently being shown on the guide. FIGS. 21C-21Fillustrate a case in which the viewer has selected purchasing aWashington Redskin cap. The viewer inputs a password or other inputidentification, which is confirmed by the system. Alternatively, theviewer can simply swipe his or her credit card or other identificationcard through the remote control device or the television system toauthorize the purchase of the Redskins' cap. The order is confirmed andthe cap is delivered to the viewer's home.

Although the foregoing invention has been described in detail forpurposes of clarity, it will be obvious that certain modifications maybe practiced within the scope of the appended claims. For example, theviewer can automatically tune to a desired program or can selectdifferent programs for automatic recording. For more information onautomatic tuning and automatic recording, see U.S. Pat. No. B1 4,706,121and U.S. patent application Ser. No. 08/423,411; this patent and thispatent application are, like the present patent application, assigned toStarsight Telecast, Inc. U.S. Pat. No. B1 4,706,121 and U.S. patentapplication Ser. No. 08/423,411 are hereby incorporated by reference intheir entirety for all purposes.

It should be also noted that the present invention is not limited to atelevision schedule as shown in the enclosed figures. For example, inanother embodiment of the invention, a program listing is provided thatlists a series of television programs that are available for viewing.This listing can include, for example, a list of movies that areavailable in a movie library that can be accessed and viewed by the user(e.g., the Turner Classics Film Library or Pay-Per-View programs, suchas sporting events or movies). Alternatively, the program listings canbe related to digital programming. In this aspect of the invention, thetelevision program is available to access or download for an extendedperiod of time rather than being scheduled as a single live event. Thus,a digital archive of movies, program shows or previously played sportingevents can be available to the user. This digital archive may beavailable through a database directly coupled to the electronic programguide, or on a remote database, such as the World Wide Web, Internet, orthe like. In this embodiment, the television guide may be used to both:(1) show when the television programs are first available to the user(i.e., a schedule); and (2) list the shows that have been digitallyrecorded and, therefore, are available to the user at any time.

In one example of this embodiment, a Jerry Seinfeld fan can browsethrough a list of previously played Jerry Seinfeld episodes. Theepisodes can be arranged chronologically, by subject matter, or otherconvenient methods. Upon reaching one of the episodes in the list, theuser may then find out more information about the episode, such as abrief abstract on the episode, when it was first made available to thepublic, etc. Alternatively, the user may contextually link with otherdatabases, such as the Internet or World Wide Web, to find out moreinformation about the program (e.g., chat with other Jerry Seinfeldfans, read reviews on that particular episode, etc) If the user wishesto play or record the episode, the user may do so by the methodsdescribed above.

1-37. (canceled)
 38. A method for displaying interactive program data,the method comprising: at a first instance of the current time,displaying a plurality of listings for programs currently in-progress ona display device, wherein each of the displayed listings comprises atime indicator having a leading edge aligned with a first positioncorresponding to the first instance of the current time; and as timepasses from the first instance of the current time to a second instanceof the current time later than the first instance, and while theprograms associated with the displayed listings are still currentlyin-progress, using the display device to graphically depict the passageof time and visually indicate the second instance of the current time bymoving the leading edge of each of the time indicators towards alignmentwith a third position that corresponds to the second instance of thecurrent time.
 39. The method of claim 38, wherein moving the leadingedge of each of the time indicators comprises displaying a shadowproceeding across the displayed listings.
 40. The method of claim 38,further comprising changing the background color of a portion of each ofthe displayed listings adjacent to the leading edge of each of the timeindicator.
 41. The method of claim 38, wherein displaying a plurality ofprogram listings further comprises displaying at least one listing for afuture program.
 42. The method of claim 38, wherein graphicallydepicting the passage of time further comprises changing the size ofeach of the time indicators.
 43. The method of claim 38, wherein each ofthe displayed listings includes a cell having an end segmentcorresponding to the end of program currently in-progress associatedwith the displayed listing, and wherein graphically depicting thepassage of time further comprises moving the leading edge of each of thetime indicators toward said end segment.
 44. The method of claim 38,wherein the leading edges of all of the time indicators are aligned witheach other.
 45. A system for displaying interactive program data, thesystem comprising a display controller and a processor, the processorconfigured to: direct the display controller to display a plurality oflistings for programs in-progress at a first instance of the currenttime, wherein each of the displayed listings comprises a time indicatorhaving a leading edge aligned with a first position corresponding to thefirst instance of the current time; and as time passes from the firstinstance of the current time to a second instance of the current timelater than the first instance, and while programs associated with thedisplayed listings are still in-progress, direct the display controllerto graphically depict the passage of time and visually indicate thesecond instance of the current time by moving the leading edge of eachof the time indicators towards alignment with a third position thatcorresponds to the second instance of the current time.
 46. The systemof claim 45 wherein moving the leading edge of each of the timeindicators comprises displaying a shadow proceeding across the displayedlistings.
 47. The system of claim 45 wherein the processor is furtherconfigured to direct the display controller to change the backgroundcolor of a portion of each of the displayed listings adjacent to theleading edge of the time indicator.
 48. The system of claim 45 whereinthe processor is further configured to direct the display controller todisplay at least one listing for a future program.
 49. The system ofclaim 45, wherein graphically depicting the passage of time furthercomprises changing the size of each of the time indicators.
 50. Thesystem of claim 45, wherein each of the displayed listings includes acell having an end segment corresponding to the end of a programcurrently in-progress associated with the displayed listing, and whereingraphically depicting the passage of time further comprises moving theleading edge of each of the time indicators toward said end segment. 51.The system of claim 45, wherein the leading edges of all of the timeindicators are aligned with each other.